﻿using System;
using System.Xml.Serialization;

namespace QuickDev.Licensing
{
    [Serializable , XmlInclude( typeof( WebServiceLicense ) ) , XmlInclude( typeof( ProviderLicense ) )]
    public abstract class License : ILicense
    {
        protected License()
        {
        }

        public abstract string Domain { get; set; }

        public abstract DateTime ExpirationDate { get; set; }

        public abstract string Key { get; set; }

        [XmlIgnore]
        public abstract byte[] Signature { get; }

        public abstract string Type { get; set; }
    }
}
